# RUN: llvm-mc -arch=amdgcn -mcpu=gfx900 -disassemble -show-encoding < %s | FileCheck -strict-whitespace %s

# CHECK: exp mrt0 v0, v0, v0, v0                 ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrtz v0, v0, v0, v0                 ; encoding: [0x8f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x8f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp null v0, v0, v0, v0                 ; encoding: [0x9f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x9f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp pos0 v0, v0, v0, v0                 ; encoding: [0xcf,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0xcf,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp param0 v0, v0, v0, v0               ; encoding: [0x0f,0x02,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0f,0x02,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v255, v0, v0, v0               ; encoding: [0x0f,0x00,0x00,0xc4,0xff,0x00,0x00,0x00]
0x0f,0x00,0x00,0xc4,0xff,0x00,0x00,0x00

# CHECK: exp mrt0 v0, v255, v0, v0               ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0xff,0x00,0x00]
0x0f,0x00,0x00,0xc4,0x00,0xff,0x00,0x00

# CHECK: exp mrt0 v0, v0, v255, v0               ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0x00,0xff,0x00]
0x0f,0x00,0x00,0xc4,0x00,0x00,0xff,0x00

# CHECK: exp mrt0 v0, v0, v0, v255               ; encoding: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0xff]
0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0xff

# CHECK: exp mrt0 v0, off, off, off              ; encoding: [0x01,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x01,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 off, v0, off, off              ; encoding: [0x02,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x02,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v0, v0, off, off               ; encoding: [0x03,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x03,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 off, off, v0, off              ; encoding: [0x04,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x04,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v0, off, v0, off               ; encoding: [0x05,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x05,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 off, v0, v0, off               ; encoding: [0x06,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x06,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v0, v0, v0, off                ; encoding: [0x07,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x07,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 off, off, off, v0              ; encoding: [0x08,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x08,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v0, off, off, v0               ; encoding: [0x09,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x09,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 off, v0, off, v0               ; encoding: [0x0a,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0a,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v0, v0, off, v0                ; encoding: [0x0b,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0b,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 off, off, v0, v0               ; encoding: [0x0c,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0c,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v0, off, v0, v0                ; encoding: [0x0d,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0d,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 off, v0, v0, v0                ; encoding: [0x0e,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0e,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 off, off, off, off             ; encoding: [0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v0, v0, v0, v0 done            ; encoding: [0x0f,0x08,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0f,0x08,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v0, v0, v0, v0 compr           ; encoding: [0x0f,0x04,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0f,0x04,0x00,0xc4,0x00,0x00,0x00,0x00

# CHECK: exp mrt0 v0, v0, v0, v0 vm              ; encoding: [0x0f,0x10,0x00,0xc4,0x00,0x00,0x00,0x00]
0x0f,0x10,0x00,0xc4,0x00,0x00,0x00,0x00
